package com.aiyan.edu.api.search;

import com.aiyan.edu.framework.domain.course.CoursePlanMediaPub;
import com.aiyan.edu.framework.domain.course.CoursePub;
import com.aiyan.edu.framework.domain.search.CourseSearchParam;
import com.aiyan.edu.framework.model.response.CommonResponseResult;
import com.aiyan.edu.framework.model.response.QueryResponseResult;
import com.aiyan.edu.framework.model.response.ResponseResult;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;

/**
 * @author: zqzhou
 * @create: 2019/11/13 11:36
 **/
@Api(value = "课程搜索", description = "课程搜索服务", tags = {"课程搜索"})
public interface CourseEsSearchControllerApi {

    @ApiOperation("课程列表搜索")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "page", value = "页码", required = true, paramType = "path", dataType = "int"),
            @ApiImplicitParam(name = "size", value = "每页数据条数", required = true, paramType = "path", dataType = "int")
    })
    public QueryResponseResult<CoursePub> findList(int page, int size, CourseSearchParam courseSearchParam);

    @ApiOperation("课程详情搜索")
    @ApiImplicitParam(name = "id", value = "id", required = true, paramType = "path", dataType = "String")
    public CommonResponseResult<CoursePub> find(String id);

    @ApiOperation("课程计划媒资搜索")
    @ApiImplicitParam(name = "coursePlanId", value = "coursePlanId", required = true, paramType = "path", dataType = "String")
    public CommonResponseResult<CoursePlanMediaPub> findCourseMedia(String coursePlanId);
}
